<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <!-- 
        修饰符：
            i  忽略大小写
            g  全局匹配   (把字符串里面所有满足匹配规则的字符串 全局匹配出来  默认值匹配第一项)
            m  换行  换行符\n   注意：以什么的开头^ 或 以什么结尾$ 来标识
            /  转义符  

            /d 相当于 [0-9]
            /D 相当于 [^0-9]  0到9以外的字符，如果^在中括号里面就是取反的意思
            /w 相当于[a-zA-Z0-9_] 代表包含所有英文字母  数字  下划线
            /W 相当于[^a-zA-Z0-9_]  代表除去英文字母  数字  下划线的所有字符
            /s 匹配所有空格  制表符 换行符
            /S 匹配除去  空格  制表符  换行符

            匹配中文： /u4e00-/u9fa5  unicode编码范围
     -->
    <script>
        var str='hello TRUmp'
        var reg=new RegExp('trump','i')  //修饰符i  在第二个参数里面
        var result=str.match(reg)
        console.log(result);


        var str2='hello trump trumphello bidentrump trump!'
        var reg2=/trump/ig;
        var result2=str2.match(reg2)
        console.log('全局匹配==>',result2);

        var str3='hello \nbiden\nbiden\nbiden\nbiden'
        console.log(str3);
        var reg3=/^biden/m    //以biden开头的换行,所以加上^
        var result3=str3.match(reg3)
        console.log(result3);


        var str4='adc'
        console.log(str4.match(/^[^abc].{2}/)); //不以abc开头

        var str5='p-h-o-n-e1234542543'
        var result4=str5.match(/\D{5}/)
        console.log(result4);

        var username='biden2020_'
        var result5=username.match(/\w+/)
        console.log(result5);
        var username2='ABCD+-*÷efff'
        console.log(username2.match(/\W{4}/));

        var intro='hello , my name is biden!'
        var result6=intro.match(/m[a-zA-Z\s]+!/)
        console.log(result6);

        var intro='hello , my name \nis \nbiden!'
        var result7=intro.match(/m[\S\s]+!/)  // \S\s包含所有
        console.log(result7);

        var names='my name is 卢杰伦'
        var result8=names.match(/[\u4e00-\u9fa5]{3}/)
        console.log(result8);
        
    </script>
    
</body>
</html>